{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pivot Tables"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We have seen how the `groupby` abstraction lets us explore relationships within a dataset.\n",
    "A *pivot table* is a similar operation that is commonly seen in spreadsheets and other programs that operate on tabular data.\n",
    "The pivot table takes simple column-wise data as input, and groups the entries into a two-dimensional table that provides a multidimensional summarization of the data.\n",
    "The difference between pivot tables and `groupby` can sometimes cause confusion; it helps me to think of pivot tables as essentially a *multidimensional* version of `groupby` aggregation.\n",
    "That is, you split-apply-combine, but both the split and the combine happen across not a one-dimensional index, but across a two-dimensional grid."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": []
   },
   "source": [
    "## Motivating Pivot Tables\n",
    "\n",
    "For the examples in this section, we'll use the database of passengers on the *Titanic*, available through the Seaborn library (see [Visualization With Seaborn](04.14-Visualization-With-Seaborn.ipynb)):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "titanic = sns.load_dataset('titanic')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>survived</th>\n",
       "      <th>pclass</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>sibsp</th>\n",
       "      <th>parch</th>\n",
       "      <th>fare</th>\n",
       "      <th>embarked</th>\n",
       "      <th>class</th>\n",
       "      <th>who</th>\n",
       "      <th>adult_male</th>\n",
       "      <th>deck</th>\n",
       "      <th>embark_town</th>\n",
       "      <th>alive</th>\n",
       "      <th>alone</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>C</td>\n",
       "      <td>Cherbourg</td>\n",
       "      <td>yes</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>C</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   survived  pclass     sex   age  sibsp  parch     fare embarked  class  \\\n",
       "0         0       3    male  22.0      1      0   7.2500        S  Third   \n",
       "1         1       1  female  38.0      1      0  71.2833        C  First   \n",
       "2         1       3  female  26.0      0      0   7.9250        S  Third   \n",
       "3         1       1  female  35.0      1      0  53.1000        S  First   \n",
       "4         0       3    male  35.0      0      0   8.0500        S  Third   \n",
       "\n",
       "     who  adult_male deck  embark_town alive  alone  \n",
       "0    man        True  NaN  Southampton    no  False  \n",
       "1  woman       False    C    Cherbourg   yes  False  \n",
       "2  woman       False  NaN  Southampton   yes   True  \n",
       "3  woman       False    C  Southampton   yes  False  \n",
       "4    man        True  NaN  Southampton    no   True  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.head()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As the output shows, this contains a number of data points on each passenger on that ill-fated voyage, including sex, age, class, fare paid, and much more."
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pivot Tables by Hand\n",
    "\n",
    "To start learning more about this data, we might begin by grouping according to sex, survival status, or some combination thereof.\n",
    "If you read the previous chapter, you might be tempted to apply a `groupby` operation—for example, let's look at survival rate by sex:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>survived</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>0.742038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>0.188908</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        survived\n",
       "sex             \n",
       "female  0.742038\n",
       "male    0.188908"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.groupby('sex')[['survived']].mean()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This gives us some initial insight: overall, three of every four females on board survived, while only one in five males survived!\n",
    "\n",
    "This is useful, but we might like to go one step deeper and look at survival rates by both sex and, say, class.\n",
    "Using the vocabulary of `groupby`, we might proceed using a process like this:\n",
    "we first *group by* class and sex, then *select* survival, *apply* a mean aggregate, *combine* the resulting groups, and finally *unstack* the hierarchical index to reveal the hidden multidimensionality. In code:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>0.968085</td>\n",
       "      <td>0.921053</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>0.368852</td>\n",
       "      <td>0.157407</td>\n",
       "      <td>0.135447</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "class      First    Second     Third\n",
       "sex                                 \n",
       "female  0.968085  0.921053  0.500000\n",
       "male    0.368852  0.157407  0.135447"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.groupby(['sex', 'class'])['survived'].aggregate('mean').unstack()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This gives us a better idea of how both sex and class affected survival, but the code is starting to look a bit garbled.\n",
    "While each step of this pipeline makes sense in light of the tools we've previously discussed, the long string of code is not particularly easy to read or use.\n",
    "This two-dimensional `groupby` is common enough that Pandas includes a convenience routine, `pivot_table`, which succinctly handles this type of multidimensional aggregation."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pivot Table Syntax\n",
    "\n",
    "Here is the equivalent to the preceding operation using the `DataFrame.pivot_table` method:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>0.968085</td>\n",
       "      <td>0.921053</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>0.368852</td>\n",
       "      <td>0.157407</td>\n",
       "      <td>0.135447</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "class      First    Second     Third\n",
       "sex                                 \n",
       "female  0.968085  0.921053  0.500000\n",
       "male    0.368852  0.157407  0.135447"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.pivot_table('survived', index='sex', columns='class', aggfunc='mean')"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This is eminently more readable than the manual `groupby` approach, and produces the same result.\n",
    "As you might expect of an early 20th-century transatlantic cruise, the survival gradient favors both higher classes and people recorded as females in the\n",
    "data. First-class females survived with near certainty (hi, Rose!), while only one in eight or so third-class males survived (sorry, Jack!)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Multilevel Pivot Tables\n",
    "\n",
    "Just as in a `groupby`, the grouping in pivot tables can be specified with multiple levels and via a number of options.\n",
    "For example, we might be interested in looking at age as a third dimension.\n",
    "We'll bin the age using the `pd.cut` function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">female</th>\n",
       "      <th>(0, 18]</th>\n",
       "      <td>0.909091</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.511628</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(18, 80]</th>\n",
       "      <td>0.972973</td>\n",
       "      <td>0.900000</td>\n",
       "      <td>0.423729</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">male</th>\n",
       "      <th>(0, 18]</th>\n",
       "      <td>0.800000</td>\n",
       "      <td>0.600000</td>\n",
       "      <td>0.215686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(18, 80]</th>\n",
       "      <td>0.375000</td>\n",
       "      <td>0.071429</td>\n",
       "      <td>0.133663</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "class               First    Second     Third\n",
       "sex    age                                   \n",
       "female (0, 18]   0.909091  1.000000  0.511628\n",
       "       (18, 80]  0.972973  0.900000  0.423729\n",
       "male   (0, 18]   0.800000  0.600000  0.215686\n",
       "       (18, 80]  0.375000  0.071429  0.133663"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "age = pd.cut(titanic['age'], [0, 18, 80])\n",
    "titanic.pivot_table('survived', ['sex', age], 'class')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can apply the same strategy when working with the columns as well; let's add info on the fare paid, using `pd.qcut` to automatically compute quantiles:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>fare</th>\n",
       "      <th colspan=\"3\" halign=\"left\">(-0.001, 14.454]</th>\n",
       "      <th colspan=\"3\" halign=\"left\">(14.454, 512.329]</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">female</th>\n",
       "      <th>(0, 18]</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.714286</td>\n",
       "      <td>0.909091</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.318182</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(18, 80]</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.880000</td>\n",
       "      <td>0.444444</td>\n",
       "      <td>0.972973</td>\n",
       "      <td>0.914286</td>\n",
       "      <td>0.391304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">male</th>\n",
       "      <th>(0, 18]</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.260870</td>\n",
       "      <td>0.800000</td>\n",
       "      <td>0.818182</td>\n",
       "      <td>0.178571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(18, 80]</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.098039</td>\n",
       "      <td>0.125000</td>\n",
       "      <td>0.391304</td>\n",
       "      <td>0.030303</td>\n",
       "      <td>0.192308</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "fare            (-0.001, 14.454]                     (14.454, 512.329]  \\\n",
       "class                      First    Second     Third             First   \n",
       "sex    age                                                               \n",
       "female (0, 18]               NaN  1.000000  0.714286          0.909091   \n",
       "       (18, 80]              NaN  0.880000  0.444444          0.972973   \n",
       "male   (0, 18]               NaN  0.000000  0.260870          0.800000   \n",
       "       (18, 80]              0.0  0.098039  0.125000          0.391304   \n",
       "\n",
       "fare                                 \n",
       "class              Second     Third  \n",
       "sex    age                           \n",
       "female (0, 18]   1.000000  0.318182  \n",
       "       (18, 80]  0.914286  0.391304  \n",
       "male   (0, 18]   0.818182  0.178571  \n",
       "       (18, 80]  0.030303  0.192308  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fare = pd.qcut(titanic['fare'], 2)\n",
    "titanic.pivot_table('survived', ['sex', age], [fare, 'class'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The result is a four-dimensional aggregation with hierarchical indices (see [Hierarchical Indexing](03.05-Hierarchical-Indexing.ipynb)), shown in a grid demonstrating the relationship between the values."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Additional Pivot Table Options\n",
    "\n",
    "The full call signature of the `DataFrame.pivot_table` method is as follows:\n",
    "\n",
    "```python\n",
    "# call signature as of Pandas 1.3.5\n",
    "DataFrame.pivot_table(data, values=None, index=None, columns=None,\n",
    "                      aggfunc='mean', fill_value=None, margins=False,\n",
    "                      dropna=True, margins_name='All', observed=False,\n",
    "                      sort=True)\n",
    "```\n",
    "\n",
    "We've already seen examples of the first three arguments; here we'll take a quick look at some of the remaining ones.\n",
    "Two of the options, `fill_value` and `dropna`, have to do with missing data and are fairly straightforward; I will not show examples of them here.\n",
    "\n",
    "The `aggfunc` keyword controls what type of aggregation is applied, which is a mean by default.\n",
    "As with `groupby`, the aggregation specification can be a string representing one of several common choices (`'sum'`, `'mean'`, `'count'`, `'min'`, `'max'`, etc.) or a function that implements an aggregation (e.g., `np.sum()`, `min()`, `sum()`, etc.).\n",
    "Additionally, it can be specified as a dictionary mapping a column to any of the desired options:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"3\" halign=\"left\">fare</th>\n",
       "      <th colspan=\"3\" halign=\"left\">survived</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>106.125798</td>\n",
       "      <td>21.970121</td>\n",
       "      <td>16.118810</td>\n",
       "      <td>91</td>\n",
       "      <td>70</td>\n",
       "      <td>72</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>67.226127</td>\n",
       "      <td>19.741782</td>\n",
       "      <td>12.661633</td>\n",
       "      <td>45</td>\n",
       "      <td>17</td>\n",
       "      <td>47</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              fare                       survived             \n",
       "class        First     Second      Third    First Second Third\n",
       "sex                                                           \n",
       "female  106.125798  21.970121  16.118810       91     70    72\n",
       "male     67.226127  19.741782  12.661633       45     17    47"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.pivot_table(index='sex', columns='class',\n",
    "                    aggfunc={'survived':sum, 'fare':'mean'})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice also here that we've omitted the `values` keyword; when specifying a mapping for `aggfunc`, this is determined automatically."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "At times it's useful to compute totals along each grouping.\n",
    "This can be done via the ``margins`` keyword:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "      <th>All</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>0.968085</td>\n",
       "      <td>0.921053</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.742038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>0.368852</td>\n",
       "      <td>0.157407</td>\n",
       "      <td>0.135447</td>\n",
       "      <td>0.188908</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <td>0.629630</td>\n",
       "      <td>0.472826</td>\n",
       "      <td>0.242363</td>\n",
       "      <td>0.383838</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "class      First    Second     Third       All\n",
       "sex                                           \n",
       "female  0.968085  0.921053  0.500000  0.742038\n",
       "male    0.368852  0.157407  0.135447  0.188908\n",
       "All     0.629630  0.472826  0.242363  0.383838"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.pivot_table('survived', index='sex', columns='class', margins=True)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here, this automatically gives us information about the class-agnostic survival rate by sex, the sex-agnostic survival rate by class, and the overall survival rate of 38%.\n",
    "The margin label can be specified with the `margins_name` keyword; it defaults to `\"All\"`."
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example: Birthrate Data\n",
    "\n",
    "As another example, let's take a look at the freely available data on births in the United States, provided by the Centers for Disease Control (CDC).\n",
    "This data can be found at https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv\n",
    "(this dataset has been analyzed rather extensively by Andrew Gelman and his group; see, for example, the [blog post on signal processing using Gaussian processes](http://andrewgelman.com/2012/06/14/cool-ass-signal-processing-using-gaussian-processes/)):\n",
    "\n",
    "[^1]: The CDC dataset used in this section uses the sex assigned at birth, which it calls \"gender,\" and limits the data to male and female. While gender is a spectrum independent of biology, I will be using the same terminology while discussing this dataset for consistency and clarity."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "# shell command to download the data:\n",
    "# !cd data && curl -O \\\n",
    "# https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "births = pd.read_csv('data/births.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Taking a look at the data, we see that it's relatively simple—it contains the number of births grouped by date and gender:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>day</th>\n",
       "      <th>gender</th>\n",
       "      <th>births</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>M</td>\n",
       "      <td>4440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>2.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4454</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>2.0</td>\n",
       "      <td>M</td>\n",
       "      <td>4548</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4548</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   year  month  day gender  births\n",
       "0  1969      1  1.0      F    4046\n",
       "1  1969      1  1.0      M    4440\n",
       "2  1969      1  2.0      F    4454\n",
       "3  1969      1  2.0      M    4548\n",
       "4  1969      1  3.0      F    4548"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "births.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can start to understand this data a bit more by using a pivot table.\n",
    "Let's add a `decade` column, and take a look at male and female births as a function of decade:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>gender</th>\n",
       "      <th>F</th>\n",
       "      <th>M</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>decade</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1960</th>\n",
       "      <td>1753634</td>\n",
       "      <td>1846572</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1970</th>\n",
       "      <td>16263075</td>\n",
       "      <td>17121550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1980</th>\n",
       "      <td>18310351</td>\n",
       "      <td>19243452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990</th>\n",
       "      <td>19479454</td>\n",
       "      <td>20420553</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000</th>\n",
       "      <td>18229309</td>\n",
       "      <td>19106428</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "gender         F         M\n",
       "decade                    \n",
       "1960     1753634   1846572\n",
       "1970    16263075  17121550\n",
       "1980    18310351  19243452\n",
       "1990    19479454  20420553\n",
       "2000    18229309  19106428"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "births['decade'] = 10 * (births['year'] // 10)\n",
    "births.pivot_table('births', index='decade', columns='gender', aggfunc='sum')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We see that male births outnumber female births in every decade.\n",
    "To see this trend a bit more clearly, we can use the built-in plotting tools in Pandas to visualize the total number of births by year, as shown in the following figure (see [Introduction to Matplotlib](04.00-Introduction-To-Matplotlib.ipynb) for a discussion of plotting with Matplotlib):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "plt.style.use('seaborn-whitegrid')\n",
    "births.pivot_table(\n",
    "    'births', index='year', columns='gender', aggfunc='sum').plot()\n",
    "plt.ylabel('total births per year');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With a simple pivot table and the `plot` method, we can immediately see the annual trend in births by gender. By eye, it appears that over the past 50 years male births have outnumbered female births by around 5%."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Though this doesn't necessarily relate to the pivot table, there are a few more interesting features we can pull out of this dataset using the Pandas tools covered up to this point.\n",
    "We must start by cleaning the data a bit, removing outliers caused by mistyped dates (e.g., June 31st) or missing values (e.g., June 99th).\n",
    "One easy way to remove these all at once is to cut outliers; we'll do this via a robust sigma-clipping operation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "quartiles = np.percentile(births['births'], [25, 50, 75])\n",
    "mu = quartiles[1]\n",
    "sig = 0.74 * (quartiles[2] - quartiles[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This final line is a robust estimate of the sample standard deviation, where the 0.74 comes from the interquartile range of a Gaussian distribution (you can learn more about sigma-clipping operations in a book I coauthored with Željko Ivezić, Andrew J. Connolly, and Alexander Gray: [*Statistics, Data Mining, and Machine Learning in Astronomy*](https://press.princeton.edu/books/hardcover/9780691198309/statistics-data-mining-and-machine-learning-in-astronomy) (Princeton University Press)).\n",
    "\n",
    "With this, we can use the `query` method (discussed further in [High-Performance Pandas: `eval()` and `query()`](03.12-Performance-Eval-and-Query.ipynb)) to filter out rows with births outside these values:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "births = births.query('(births > @mu - 5 * @sig) & (births < @mu + 5 * @sig)')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next we set the `day` column to integers; previously it had been a string column because some columns in the dataset contained the value `'null'`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "# set 'day' column to integer; it originally was a string due to nulls\n",
    "births['day'] = births['day'].astype(int)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, we can combine the day, month, and year to create a date index (see [Working with Time Series](03.11-Working-with-Time-Series.ipynb)).\n",
    "This allows us to quickly compute the weekday corresponding to each row:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "# create a datetime index from the year, month, day\n",
    "births.index = pd.to_datetime(10000 * births.year +\n",
    "                              100 * births.month +\n",
    "                              births.day, format='%Y%m%d')\n",
    "\n",
    "births['dayofweek'] = births.index.dayofweek"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using this, we can plot births by weekday for several decades (see the following figure):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "\n",
    "births.pivot_table('births', index='dayofweek',\n",
    "                    columns='decade', aggfunc='mean').plot()\n",
    "plt.gca().set(xticks=range(7),\n",
    "              xticklabels=['Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun'])\n",
    "plt.ylabel('mean births by day');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Apparently births are slightly less common on weekends than on weekdays! Note that the 1990s and 2000s are missing because starting in 1989, the CDC data contains only the month of birth.\n",
    "\n",
    "Another interesting view is to plot the mean number of births by the day of the year.\n",
    "Let's first group the data by month and day separately:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>births</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">1</th>\n",
       "      <th>1</th>\n",
       "      <td>4009.225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4247.400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4500.900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4571.350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>4603.625</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       births\n",
       "1 1  4009.225\n",
       "  2  4247.400\n",
       "  3  4500.900\n",
       "  4  4571.350\n",
       "  5  4603.625"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "births_by_date = births.pivot_table('births', \n",
    "                                    [births.index.month, births.index.day])\n",
    "births_by_date.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The result is a multi-index over months and days.\n",
    "To make this visualizable, let's turn these months and days into dates by associating them with a dummy year variable (making sure to choose a leap year so February 29th is correctly handled!):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>births</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2012-01-01</th>\n",
       "      <td>4009.225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-02</th>\n",
       "      <td>4247.400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-03</th>\n",
       "      <td>4500.900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-04</th>\n",
       "      <td>4571.350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-05</th>\n",
       "      <td>4603.625</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              births\n",
       "2012-01-01  4009.225\n",
       "2012-01-02  4247.400\n",
       "2012-01-03  4500.900\n",
       "2012-01-04  4571.350\n",
       "2012-01-05  4603.625"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from datetime import datetime\n",
    "births_by_date.index = [datetime(2012, month, day)\n",
    "                        for (month, day) in births_by_date.index]\n",
    "births_by_date.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Focusing on the month and day only, we now have a time series reflecting the average number of births by date of the year.\n",
    "From this, we can use the `plot` method to plot the data. It reveals some interesting trends, as you can see in the following figure:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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/PBDFEVh3759TJs2DZfLRWNjI88//zyvvfYaTqeT/fv3AxAdHc0rr7zC+eefP8BnHrzXXnuNG264gdzcXPR6PXv37gVg+vTprF69mq9+9au+x8lqtfLyyy/zjW98YwDPODh9eexuuOEG3nrrLQBef/11rr/++gE++/4z1F9bQllPf3tdFRYWsnHjRl5//XX+/ve/U1NTc47PtO9SUlJ46qmn2L17N0uWLOErX/kKn332Gb/73e+49957Wb16NfPnz+ef//wnAFVVVTz11FOsXbuW559/nrq6ugFeQWCnTp0iKyur2+0ZGRlcd911fO973+PVV1/llltuobCwkO9973tcddVVXHLJJQNwtqfvvvvu4/nnn6ekpARwv568//77rFmzhjVr1lBSUsJnn33G9ddf70uWvPnmmyxevHgAz7rvEhISWLdund+45Z577uHhhx/mtddeY8GCBSFbqnZOyifMZjN6vR6dTgfAzJkzeeaZZ3j99ddRqVQ4HA7fsfn5+QCkpqYOufqyruUTzz77LAcPHvRlchwOB2VlZYD7dwB0mvg3WF199dXcd999ZGZm+s5brVaj0+n46U9/SkREBJWVlb7HMScnZyBPt8+amprYsGED9fX1rF69GpPJxIsvvgi4swTgfpy8tXBDaX19eexmz57Ngw8+SH19PV988QU//elPB/jse9f1tSXQ5c2h+trSlzUONYH+9ry8XUOLi4uZNGkSGo0GjUbDxIkTB+KU+6SkpISoqCgeeeQRAPbv3893v/tdrFYr999/PwB2u52RI0cCMG3aNPR6PQBjxozh5MmTJCQkDMi5ByMlJYV9+/Z1u72kpASr1cq0adMAfEHwUK3FjYuL49e//jUrVqxg+vTpWK1WpkyZ0immOXr0KDfeeCPLli3jhhtuwGQyMXbs2AE+874pLy/n6quv5p133ukWt9TW1jJq1CgAbrjhhoE8zbPqnGSKf/WrX7Fr1y5cLhd1dXU8/PDDfP3rX+fxxx9n9uzZdGyVHEov+Lm5ucyePZvVq1fzwgsv8NWvfpXMzEwAX1Z1586djBkzZiBPs1eZmZm0trayevVqrrnmGgBMJhMff/wxf/7zn/nd736Hy+XyPY5q9dBqavLOO+9w3XXX8a9//YtVq1axdu1avvjiC+rr632bYnbv3s3o0aOBobW+vjx2KpWKa665hgcffJALL7zQ94I/mHV9bRk7dqwvg3jw4MFOxw7V15a+rHGo6elvT61W+9Z46NAhwJ102L9/Py6XC5vN5rt9MDt8+DAPPPAANpsNcH+gjo6OJjs7m0cffZTVq1fzi1/8gosuugiAgoICnE4nbW1tFBUVkZ2dPYBn37tLLrmEzZs3dwqMX3vtNeLi4liwYIHvfe6dd95h9erVqNVqXC7XQJ3uGVm4cCE5OTm89dZbGAwG9u3bh8PhQFEUduzYQU5ODkajkYkTJ/LII48Mudp4k8nEa6+9htFo9Bu3JCcnc+LECcC9efSjjz4a2BM+S85JpvjWW2/11dZcccUVjBo1iscee4xnnnmGESNG0NDQcC5O45xbuHAh27dvZ9myZbS2tnLppZcSFRUFwMcff8wLL7xAZGQkjz766ACfae++9rWv8Z///IecnBxOnTqFRqMhPDycpUuXApCUlER1dfUAn+Xpee2113jsscd8/w4PD+fyyy/n9ddf56233uL5558nPDycxx57jCNHjgzgmZ6evjx2ixYt4qKLLuI///nPQJ5y0Lq+tlx55ZXceeed7NixgwkTJgzw2fWPUF5jT397I0aM4P777yctLY3k5GQAxo0bx4IFC1i8eDFxcXHodDq02sG9V/zyyy+nuLiY66+/noiICBRF4Ze//CUjRoxgxYoVOBwOVCoVDz30ENXV1TgcDr773e/S2NjI7bffTnx8/EAvIaDIyEiefvppHn74YRobG3E6nYwbN46VK1fS0NDAPffcw1NPPUVYWBiPP/445eXlPPXUU0yYMMG3AXgo+c1vfsPWrVuJjIzkq1/9KjfeeCMul4sZM2Zw6aWXAu4s6ne+8x0efvjhAT7b3m3dupXly5ejVqtxOp3ccccdXHbZZfzhD3/oFrfcf//9/PrXv0atVpOUlMS3vvWtgT79s0Im2gnRg+XLl3Pffff5LhkNB1VVVfzyl7/khRdeGOhTEaKTuro61q1bx0033YTNZuPKK6/khRdeIC0tbaBPrV9s27aNNWvW+LoBCCHOvcH9MVsIcc58+OGH/O1vf+O+++4b6FMRopu4uDgOHDjAddddh0ql4oYbbgiZgFgIMThIplgIIYQQQgx7Q2fHkBBCCCGEEGfJWSufsNvt/PrXv6asrAybzcbtt9/O6NGj+dWvfoVKpWLMmDHce++9vp38JSUl/OhHP+Ldd98F3K1Bfv3rX+N0OlEUhQceeIDc3NyzdbpCCCGEEGIYO2tB8TvvvENsbCyPP/44jY2NfOMb32D8+PHceeedzJ49m3vuuYdPPvmEyy67jLfffpt///vfnSa7/eUvf+Hmm2/m0ksvZePGjaxcuZInn3zybJ2uEEIIIYQYxs5a+cRXvvIVfvKTnwDu5usajYaDBw8ya9YsAObPn8/mzZsBiImJ6dawfcWKFSxYsAAAp9OJwWA4W6cqhBBCCCGGubMWFEdGRhIVFYXJZOLHP/4xd955p29AgPfrLS0tAFx88cVERER0un98fDw6nY5jx47x6KOP8sMf/vBsnaoQQgghhBjmzupGu4qKCm655Ra+/vWvc/XVV3eaBGY2m4mOjg54/61bt/LDH/6Qxx57TOqJhRBCCCHEWXPWguLa2lpuu+02fvGLX3D99dcDkJ+fz7Zt2wDYsGEDM2fO7PH+W7du5aGHHuKf//wnkyZNOlunKYQQQgghxNnrU/zggw/y/vvvd8rw/uY3v+HBBx/EbreTm5vLgw8+iEaj8X39wgsv5IsvvgDgmmuuwWazkZSUBLhnxj/wwANn41SFEEIIIcQwJ8M7hBBCCCHEsCfDO4QQQgghxLAnQbEQQgghhBj2JCgWQgghhBDDngTFQgghhBBi2JOgWAghhBBCDHsSFAshhBBCiGFPgmIhhBBCCDHs/X/pWcvlr+9FFwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 864x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the results\n",
    "fig, ax = plt.subplots(figsize=(12, 4))\n",
    "births_by_date.plot(ax=ax);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In particular, the striking feature of this graph is the dip in birthrate on US holidays (e.g., Independence Day, Labor Day, Thanksgiving, Christmas, New Year's Day), although this likely reflects trends in scheduled/induced births rather than some deep psychosomatic effect on natural births.\n",
    "For more discussion of this trend, see the analysis and links in [Andrew Gelman's blog post](http://andrewgelman.com/2012/06/14/cool-ass-signal-processing-using-gaussian-processes/) on the subject.\n",
    "We'll return to this figure in [Example:-Effect-of-Holidays-on-US-Births](04.09-Text-and-Annotation.ipynb), where we will use Matplotlib's tools to annotate this plot.\n",
    "\n",
    "Looking at this short example, you can see that many of the Python and Pandas tools we've seen to this point can be combined and used to gain insight from a variety of datasets.\n",
    "We will see some more sophisticated applications of these data manipulations in future chapters!"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "jupytext": {
   "formats": "ipynb,md"
  },
  "kernelspec": {
   "display_name": "Python 3.9.6 64-bit ('3.9.6')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.6"
  },
  "vscode": {
   "interpreter": {
    "hash": "513788764cd0ec0f97313d5418a13e1ea666d16d72f976a8acadce25a5af2ffc"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
